// const app = getApp()
Page({
  data: {
    avatar: '',
    nickName: '',
  },
  onLoad() {
    const app = getApp()
    this.setData({
      avatar: app.avatar,
      nickName: app.nickName,
    })
  },
  // 获取用户昵称的事件处理函数
  getNickName(e) {
    this.updateNickName(e.detail.value)
  },
  // 获取用户头像的事件处理函数
  getAvatar(e) {
    this.updateAvatar(e.detail.avatarUrl)
  },

  // 上传昵称接口
  updateNickName(nickName) {
    if (!nickName) return
    const { code } = wx.http.put('/userInfo', {
      nickName,
    })
    if (code !== 10000) return wx.utils.toast('上传失败')
    this.setData({
      nickName,
    })
    const app = getApp()
    // 修改应用实例中的数据
    app.getUserInfo('nickName', nickName)
  },

  // 上传用户头像
  updateAvatar(avatar) {
    // 调用内置API uploadFile上传文件
    const app = getApp()
    wx.uploadFile({
      url: `${wx.http.baseURL}/upload`,
      filePath: avatar,
      name: 'file',
      header: {
        Authorization: 'Bearer ' + app.token,
      },
      formData: {
        type: 'avatar',
      },
      success: (res) => {
        const data = JSON.parse(res.data)
        if (data.code !== 10000) return wx.utils.toast('上传失败')
        this.setData({
          avatar: data.data.url,
        })
        app.getUserInfo('avatar', data.data.url)
      },
    })
  },

  // 更新用户头像
  // updateAvatar(avatar) {
  //   // 调用 API 上传文件
  //   wx.uploadFile({
  //     // 接口地址
  //     url: wx.http.baseURL + '/upload',
  //     // 待上传的文件路径
  //     filePath: avatar,
  //     name: 'file',
  //     header: {
  //       // 用户登录状态
  //       Authorization: 'Bearer ' + getApp().token
  //     },
  //     formData: {
  //       type: 'avatar'
  //     },
  //     success: (result) => {
  //       // 处理返回的数据
  //       const data = JSON.parse(result.data)
  //       // 检测接口是否调用成功
  //       if (data.code !== 10000) return wx.utils.toast('上传头像失败!')
  //       // 借助于页面栈实例来更新 pages/my/index.wxml 中的头像
  //       pageStack[0].setData({
  //         avatar: data.data.url
  //       })
  //     }
  //   })
  // }
})
